package com.goods.business.service;

import com.goods.common.vo.business.ProductStockVO;
import com.goods.common.vo.business.ProductVO;
import com.goods.common.vo.system.PageVO;

/**
 * Created with IntelliJ IDEA
 *
 * @Date: 2023/3/6 - 18:07
 * @Author: Hyoung
 * @Description:
 */
public interface IProductService {
    /**
     * 查询商品库存
     *
     * @param pageNum
     * @param pageSize
     * @param categorys
     * @param name
     * @return
     */
    PageVO<ProductStockVO> findProductStocks(Integer pageNum, Integer pageSize, String categorys, String name);

    /**
     * 获取所有的product
     *
     * @param pageNum
     * @param pageSize
     * @param categorys
     * @param status
     * @param name
     * @return
     */
    PageVO<ProductVO> findProductList(Integer pageNum, Integer pageSize, String categorys, Integer status, String name);

    /**
     * 添加一个商品
     *
     * @param productVO
     */
    void addProduct(ProductVO productVO);

    void deleteProductById(Integer id);

    void editProduct(Integer id, ProductVO productVO);

    ProductVO findProductById(Integer id);

    PageVO<ProductStockVO> findAllStocks(Integer pageNum, Integer pageSize);

    PageVO<ProductVO> findProducts(Integer pageNum, Integer pageSize, Integer status, ProductVO productVO);

    void publish(Integer id);

    void back(Integer id);

    void remove(Integer id);
}
